This application is related to copending U.S. applications filed on the same day of the present application and entitled xe2x80x9cReal-time video editing architecturexe2x80x9d and xe2x80x9cMethod and apparatus for real-time video editing using a graphics processorxe2x80x9d.
This invention relates to video editing. More precisely, this invention describes an architecture that allows real-time video editing.
Video editing has always been an important issue in video production. Film editing was initially done using splicing tools and title blending equipment. However, in recent few decades, new techniques appeared. One cornerstone in the evolution of these techniques was the beginning of the digital era. This new era opened new horizons and expanded dramatically the type of editing operations that could be performed on video streams, For instance, with this new era, it became possible to use the processing power of the computer.
Today video editing can be performed in a computer using two types of architecture.
The first type of architecture involves a dedicated 3D video special effects chip or chip set whose task is to perform only video editing operations and hardware implemented video effects. While this architecture allows real-time processing, which is a need for live broadcasting, this architecture suffers from a lack of upgradebility. Furthermore, this architecture is usually very expensive and thus not affordable for low end users.
This second type of architecture involves the common graphics chip used in computer graphics cards. This architecture allows video editing operations and video effects. Furthermore, this architecture allows a software upgrade of the video effects. However, this architecture cannot handle, in its present configuration, real-time operations. This is a major drawback that is not acceptable for a professional user and is also a great inconvenience for personal users.
There is thus a need for an architecture that would allow real-time video editing without using expensive dedicated hardware. There is also a need for an architecture that would allow a software upgrade of the video effects that can be performed in real time.
It is an object of the invention to provide a video editing architecture allowing video editing using various sources of video streams,
It is another object of the invention to provide a video editing architecture that would make use of the graphic processor in a computer,
Yet another object of the invention is to provide an architecture that would allow a software upgrade of the video effects available within the architecture,
Yet another object of the invention is to provide an improved architecture for video editing wherein each video effect is implemented within one single module.
According to a broad aspect of the present invention, there is provided a video editing apparatus for performing video editing with at least one 3D rendering video effect on at least two video streams. The apparatus comprises:
a graphics processor having at least two video inputs, a graphics image input and a video output, the graphics processor comprising a 3D rendering engine, a 2D graphics engine and a command interface;
a video editing controller providing a video editing user interface to receive video editing control command data defining a timed sequence of video editing effects;
a video effect control module responsive to the video editing control command data to output keyframe data defining parameters for a specific desired video editing effect; and
a plurality of video effect filter modules, each one of the filter modules managing a separate video editing effect, the video effect filter modules providing, in response to the keyframe data, a series of video processing commands to the command interface, each one of the video processing commands defining one graphics processing step part of a whole video processing effect to generate a processed field image, at least some of the video processing commands including object specification data for 3D rendering.
Preferably, the desired video effect includes a combination of a video processing using the 2D graphics engine and a video processing using the 3D rendering engine.
Preferably, the desired video effect is selected from the group consisting of: wipes, dissolves, keys, borders, drop shadows, trails, sparkles, 2D and 3D DVE""s, surface and object morphing, explosions, multilayer compositing, anti-aliasing, spotlights and high lights, page curl, fade effect, 3D perspective effect, organic wipe effect.
Preferably, the graphics processor has an input buffer for storing a sequence of fields of the at least two video inputs and an output buffer for storing a sequence of fields of the graphics processor video output, the graphics processor command interface providing a feedback signal to the video effects control modules to notify the modules as to the state of depletion of the output buffer.
Preferably, the modules are responsive to the state of depletion by one of skipping frames and reducing an amount of video effect processing, so as to maintain realtime output from the output buffer.
Preferably, the input buffer also stores input graphic image fields.
Preferably, the apparatus further comprises:
a video data storage device;
at least one codes able to retrieve at least two video sources from the data storage device and output at least two uncompressed video data streams;
a video decoder having a video signal input and an uncompressed digital video output;
a video encoder having an uncompressed video data stream input and a display signal output;
a first video bus transferring data between the video output of the graphics processor and the video encoder when the apparatus is operating in a realtime video editing mode;
a second video bus transferring data between the codec and the at least two video inputs of the graphics processor when the apparatus is operating in a realtime video editing mode;
the video decoder using one of the first and the second video buses to transfer data to the video encoder in a non-editing playback mode, and the video decoder using one of the first and the second video buses to transfer data to the codec in a video capture mode.
Preferably the video decoder transfers data to the codec and to the video encoder using the first video bus.
Preferably, data is transferred from the video output of the graphics processor to the codec for compression and storage in the video data storage device.
Preferably, the apparatus further comprises an input for compressed digital video input from external device, one of the at least two video sources comprising the compressed digital video input.
Preferably, the compressed digital video input comprises one of an IEEE 1394 interface and an SDTI interface.
Preferably, the desired video effect involves processing of at least two input video inputs and the graphics input.